PHLEGM v8 - SuperPET boot trace checkpoint 22

Observed in checkpoint 21:
- The OpenGL character display opens (640x480), so missing-window issue is resolved.
- 12/12 SuperPET firmware images load; firmware fetch is not the blocker.
- The framebuffer renders repeating glyphs from zero-valued $8000 screen RAM.
- The Control / Monitor status is intentionally event-driven, so its
  PC=$FF80, instructions=0, cycles=0 is a load-time snapshot, not proof
  that the MC6809 did not execute afterwards.

New diagnostic: MACHINE TRACE (alias MACHINE DIAG)
- On demand reports active machine, powered/paused/halted, current PC,
  instruction count, emulated cycles and selected chipset clock.
- Reports firmware slot count and missing firmware.
- Reports each character display's RAM address, count of $00/$20/other
  bytes and the first 16 bytes, without additional bus reads/side effects.
- Outputs to both console and GUI history when invoked from GUI.
- Runs only when requested; does not add per-instruction or per-frame work.

Testing:
1. Select SuperPET with PPU/APU Skip OFF, wait 3+ seconds.
2. Type MACHINE TRACE in GUI command bar; click Execute.
3. Wait another 3+ seconds and repeat MACHINE TRACE.
4. Share both trace lines and the console log to distinguish CPU/scheduler
   stalls from a ROM/wiring/CRTC/VRAM boot problem.

This is an instrumented diagnostic checkpoint. It does NOT claim that the
Waterloo ROM boots to a usable prompt or that FPS regression is fixed.
No firmware or Python dependencies are bundled.
